Parallel data processing systems, or parallel processors, are widely utilized for computing applications which require that a substantially large amount of data be processed in a relatively small duration of time. Examples of such applications are real-time applications such as those required for image reception and recognition systems, seismic systems, and control systems adapted for controlling a device in response to a plurality of sensor input signals. Other applications include mathematical and physical science research, meteorology, and artificial intelligence systems.
A particular problem associated with known parallel processing systems is the complexity of the required interconnection of discrete processing elements and the interconnection of the individual processing elements with a central controlling processing element. A desirable goal in the design of such processors is the optimization of this interprocessor connectivity in that the nature of the connectivity typically affects the overall processing speed, efficiency, and ease of use of the system.
Related to this problem of connectivity optimization are constraints imposed by the expense and technical complexity of achieving the most optimal connectivity between the system processing elements.